@echo off
chcp 65001 >nul
title 预算管理系统 - 一键启动
color 0A

echo ========================================
echo      💰 预算管理系统 - 一键启动
echo ========================================
echo.

echo [1/5] 清理旧进程...
taskkill /F /IM node.exe >nul 2>&1
if %ERRORLEVEL% EQU 0 (
    echo ✅ 已清理旧进程
    timeout /t 2 >nul
) else (
    echo ✅ 无需清理
)

echo.
echo [2/5] 检查配置文件...
if not exist "backend\.env" (
    echo 🔧 创建配置文件...
    (
        echo # 服务器配置
        echo PORT=3000
        echo NODE_ENV=development
        echo.
        echo # 数据库配置
        echo DB_HOST=localhost
        echo DB_USER=root
        echo DB_PASSWORD=123456
        echo DB_NAME=budget_system
        echo DB_PORT=3306
        echo.
        echo # JWT 配置
        echo JWT_SECRET=budget_system_secret_key_2025
        echo JWT_EXPIRES_IN=7d
        echo.
        echo # CORS 配置
        echo CORS_ORIGIN=http://localhost:8080
    ) > backend\.env
    echo ✅ 配置文件已创建
) else (
    echo ✅ 配置文件已存在
)

echo.
echo [3/5] 检查依赖...
if not exist "backend\node_modules" (
    echo 📦 安装后端依赖...
    cd backend
    call npm install
    cd ..
    echo ✅ 依赖安装完成
) else (
    echo ✅ 依赖已安装
)

echo.
echo [4/5] 启动服务...
echo.
echo ========================================
echo   🚀 正在启动后端和前端...
echo   
echo   后端地址: http://localhost:3000
echo   前端地址: http://localhost:8080
echo   
echo   ⚠️  不要关闭此窗口！
echo   ⚠️  按 Ctrl+C 停止所有服务
echo ========================================
echo.

REM 启动后端（在新窗口）
start "预算系统-后端" cmd /k "cd backend && npm run dev"

REM 等待后端启动
echo ⏳ 等待后端启动...
timeout /t 5 >nul

REM 启动前端（在新窗口，禁用缓存）
start "预算系统-前端" cmd /k "cd src && npx http-server -p 8080 -c-1"

REM 等待前端启动
echo ⏳ 等待前端启动...
timeout /t 3 >nul

echo.
echo [5/5] 打开浏览器...
start http://localhost:8080/login.html

echo.
echo ========================================
echo   ✅ 系统启动完成！
echo.
echo   📝 使用说明：
echo   1. 后端和前端已在新窗口启动
echo   2. 浏览器已自动打开登录页面
echo   3. 关闭后端或前端窗口即可停止服务
echo   4. 可以关闭本窗口（不影响系统运行）
echo ========================================
echo.
echo 按任意键关闭此窗口...
pause >nul 